<template>
  <div class="article-item">
    <!-- 点击文章跳转至文章详情页 -->
    <!-- 把文章id值article.art_id传入文章详情页 -->
    <van-cell class="article-item" :to="`/article/${article.art_id}`">
      <div slot="title" class="title van-multi-ellipsis--l2">
        <strong>{{ article.title }}</strong>
      </div>

      <div slot="label">
        <div v-if="article.cover.type === 3" class="cover-wrap">
          <div
            class="cover-item"
            v-for="(img, index) in article.cover.images"
            :key="index"
          >
            <!-- 不要发送 `referrer` ，对方服务端就不知道你从哪来的了 -->
            <!-- 如何设置不发送 `referrer`？   元素上的 `referrerpolicy` 属性为其设置独立的请求策略 -->
            <van-image
              width="100"
              height="100"
              :src="img"
              referrerPolicy="no-referrer"
            />
          </div>
        </div>
        <div>
          <span>{{ article.aut_name }}</span
          >&nbsp;&nbsp;&nbsp;
          <span>{{ article.comm_count }}评论</span>
          &nbsp;&nbsp;&nbsp;
          <span>{{ article.pubdate | relativeTime }}</span>
        </div>
      </div>
      <van-image
        v-if="article.cover.type === 1"
        slot="default"
        width="100"
        height="100"
        :src="article.cover.images[0]"
      />
    </van-cell>
  </div>
</template>

<script>
export default {
  name: 'ArticleItem',
  props: {
    article: {
      type: Object,
      required: true
    }
  }
}
</script>

<style lang="less" scoped>
.article-item {
  .title {
    font-size: 32px;
    color: #3a3a3a;
  }

  .van-cell__value {
    flex: unset;
    width: 232px;
    height: 146px;
    padding-left: 25px;
  }

  .right-cover {
    width: 232px;
    height: 146px;
  }

  .label-info-wrap span {
    font-size: 22px;
    color: #b4b4b4;
    margin-right: 25px;
  }

  .cover-wrap {
    display: flex;
    padding: 30px 0;
    .cover-item {
      flex: 1;
      height: 146px;
      &:not(:last-child) {
        padding-right: 4px;
      }
      .cover-item-img {
        width: 100%;
        height: 146px;
      }
    }
  }
}
</style>
